Object.defineProperty(exports, "__esModule", {
    value: !0
}), exports.default = void 0;

var t = function() {
    var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, n = Object.assign({}, t);
    for (var e in n) n.hasOwnProperty(e) && "function" == typeof n[e] && delete n[e];
    return n;
}, n = function(t, n) {
    return function() {
        for (var e = arguments.length, r = new Array(e), i = 0; i < e; i++) r[i] = arguments[i];
        return r.length ? t.apply(n, r) : t.call(n);
    };
}, e = Behavior({
    definitionFilter: function(n) {
        n.data = t(n.data), n.data.in = !1, n.data.visible = !1;
    },
    methods: {
        $$mergeOptionsToData: t,
        $$mergeOptionsAndBindMethods: function() {
            var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this.fns, r = Object.assign({}, t);
            for (var i in r) r.hasOwnProperty(i) && "function" == typeof r[i] && (e[i] = n(r[i], this), 
            delete r[i]);
            return r;
        },
        $$setData: function() {
            for (var t = this, n = arguments.length, e = new Array(n), r = 0; r < n; r++) e[r] = arguments[r];
            var i = function() {
                for (var t = arguments.length, n = new Array(t), e = 0; e < t; e++) n[e] = arguments[e];
                return Object.assign.apply(Object, [ {} ].concat(n));
            }.apply(void 0, [ {} ].concat(e));
            return new Promise(function(n) {
                t.setData(i, n);
            });
        },
        $$requestAnimationFrame: function() {
            var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : function() {}, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 1e3 / 60;
            return new Promise(function(t) {
                return setTimeout(t, n);
            }).then(t);
        }
    },
    created: function() {
        this.fns = {};
    },
    detached: function() {
        this.fns = {};
    }
});

exports.default = e;